home *** CD-ROM | disk | FTP | other *** search
- /**
- * Name: vhdl
- * Description: VHSIC Hardware Description Language (VHDL)
- * Highlights keywords, comments and special vhdl
- * constructs. Please send comments or suggestions.
- *
- * Author: Brian Silveira (brian@nortel.ca)
- *
- */
-
- state vhdl extends HighlightEntry
- {
- /* Comments. */
- /--/ {
- comment_face (true);
- language_print ($0);
- call (eat_one_line);
- comment_face (false);
- }
-
- /* String constants. */
- /\"/ {
- string_face (true);
- language_print ($0);
- call (c_string);
- string_face (false);
- }
-
- /* Keywords.
- (build-re '(abs access after alias all and architecture array
- assert attribute begin begin block body body buffer bus case
- component configuration configuration constant disconnect downto
- else elsif end entity exit file for function function generate
- generic guarded if in inout is label library linkage loop map
- mod nand new next nor not null of on open or others out package
- port procedure process range record register rem report return
- reverse select severity signal subtype then to transport type
- units until use variable wait when while with with xor)
- t)
- */
- /\b([aA]([bB][sS]|[cC][cC][eE][sS][sS]|[fF][tT][eE][rR]\
- |[lL]([iI][aA][sS]|[lL])|[nN][dD]\
- |[rR]([cC][hH][iI][tT][eE][cC][tT][uU][rR][eE]|[rR][aA][yY])\
- |[sS][sS][eE][rR][tT]|[tT][tT][rR][iI][bB][uU][tT][eE])\
- |[bB]([eE][gG][iI][nN]()|[lL][oO][cC][kK]|[oO][dD][yY]()\
- |[uU]([fF][fF][eE][rR]|[sS]))\
- |[cC]([aA][sS][eE]\
- |[oO]([mM][pP][oO][nN][eE][nN][tT]\
- |[nN]([fF][iI][gG][uU][rR][aA][tT][iI][oO][nN]()|[sS][tT][aA][nN][tT])))\
- |[dD]([iI][sS][cC][oO][nN][nN][eE][cC][tT]|[oO][wW][nN][tT][oO])\
- |[eE]([lL][sS]([eE]|[iI][fF])|[nN]([dD]|[tT][iI][tT][yY])|[xX][iI][tT])\
- |[fF]([iI][lL][eE]|[oO][rR]|[uU][nN][cC][tT][iI][oO][nN]())\
- |[gG]([eE][nN][eE][rR]([aA][tT][eE]|[iI][cC])|[uU][aA][rR][dD][eE][dD])\
- |[iI]([fF]|[nN](|[oO][uU][tT])|[sS])\
- |[lL]([aA][bB][eE][lL]|[iI]([bB][rR][aA][rR][yY]|[nN][kK][aA][gG][eE])\
- |[oO][oO][pP])\
- |[mM]([aA][pP]|[oO][dD])\
- |[nN]([aA][nN][dD]|[eE]([wW]|[xX][tT])|[oO]([rR]|[tT])|[uU][lL][lL])\
- |[oO]([fF]|[nN]|[pP][eE][nN]|[rR]|[tT][hH][eE][rR][sS]|[uU][tT])\
- |[pP]([aA][cC][kK][aA][gG][eE]|[oO][rR][tT]\
- |[rR][oO][cC][eE]([dD][uU][rR][eE]|[sS][sS]))\
- |[rR]([aA][nN][gG][eE]\
- |[eE]([cC][oO][rR][dD]|[gG][iI][sS][tT][eE][rR]|[mM]|[pP][oO][rR][tT]\
- |[tT][uU][rR][nN]|[vV][eE][rR][sS][eE]))\
- |[sS]([eE]([lL][eE][cC][tT]|[vV][eE][rR][iI][tT][yY])|[iI][gG][nN][aA][lL]\
- |[uU][bB][tT][yY][pP][eE])\
- |[tT]([hH][eE][nN]|[oO]|[rR][aA][nN][sS][pP][oO][rR][tT]|[yY][pP][eE])\
- |[uU]([nN]([iI][tT][sS]|[tT][iI][lL])|[sS][eE])\
- |[vV][aA][rR][iI][aA][bB][lL][eE]\
- |[wW]([aA][iI][tT]|[hH]([eE][nN]|[iI][lL][eE])|[iI][tT][hH]())\
- |[xX][oO][rR])\b/ {
- keyword_face (true);
- language_print ($0);
- keyword_face (false);
- }
-
- /<=|=>/ {
- reference_face (true);
- language_print ($0);
- reference_face(false);
- }
- }
-
-
- /*
- Local variables:
- mode: c
- End:
- */
-